// 管理员-后端接口
const express = require('express')

// 创建一个路由
const router = express.Router()
// 引入数据库连接池
const pool = require('../../db/db')
// 引入ResponseData
const resData = require('../../utils/ResponseData')

// 引入jwt相关方法
const { generateToken } = require('../../auth/jwt')

/**
 * 平台管理员登录接口
 * 请求URL： http://localhost:3000/admin_login
 * 请求方式: POST,
 * 请求参数:d_admin,d_pwd
 */
router.post('/adminLogin', (req, res) => {
    console.log('进入到了PetAdmin->admin_login');
    const admin = req.body?.d_admin || ''
    const pwd = req.body?.d_pwd || ''
    console.log(req.body);
    // 编写sql语句
    const sql = `select * from pet_admin where d_admin=? and d_pwd=?`
    pool.query(sql, [admin, pwd], (err, data) => {
        if (err) {
            throw err  // 有异常就抛出去
        }
        if (data.length == 0) {
            res.send(resData.error('登录失败，管理员信息不存在', 201))
        } else {
            // 平台登录成功，生成token
            const token = generateToken(data[0]?.d_id, 2)
            res.send(resData.success({
                id: data[0]?.d_id,
                admin: data[0]?.d_admin,
                pic: data[0]?.d_pic,
                token: 'Bearer ' + token
            }, '管理员登录成功'))
        }
    })
})



module.exports = router